package com.leo.ibatis.demo.service.impl;

import java.util.List;

import com.leo.ibatis.demo.base.Service;
import com.leo.ibatis.demo.criteria.LineitemCriteria;
import com.leo.ibatis.demo.dao.LineitemDao;
import com.leo.ibatis.demo.domain.Lineitem;
import com.leo.ibatis.demo.service.LineitemService;

public class LineitemServiceImpl extends Service implements LineitemService {

	private LineitemDao lineitemDao;

	public void setLineitemDao(LineitemDao lineitemDao) {
		this.lineitemDao = lineitemDao;
	}

	public void insert(Lineitem lineitem) {
		lineitemDao.insert(lineitem);
	}

	public int update(Lineitem lineitem) {
		int actualRowsAffected = 0;
		
		int linenum = lineitem.getLinenum();
		int orderid = lineitem.getOrderid();

		Lineitem _oldLineitem = lineitemDao.select(linenum, orderid);
		
		if (_oldLineitem != null) {
			actualRowsAffected = lineitemDao.update(lineitem);
		}
		
		return actualRowsAffected;
	}

	public int delete(int linenum, int orderid) {
		int actualRowsAffected = 0;
		
		Lineitem _oldLineitem = lineitemDao.select(linenum, orderid);
		
		if (_oldLineitem != null) {
			actualRowsAffected = lineitemDao.delete(linenum, orderid);
		}
		
		return actualRowsAffected;
	}
	
	public Lineitem select(int linenum, int orderid) {
		return lineitemDao.select(linenum, orderid);
	}

	public List<Lineitem> list(LineitemCriteria lineitemCriteria) {
		return lineitemDao.list(lineitemCriteria);
	}
	
	public List<Lineitem> listOnPage(LineitemCriteria lineitemCriteria) {
		return lineitemDao.listOnPage(lineitemCriteria);
	}

}
